home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 2: Applications
/
Linux Cubed Series 2 - Applications.iso
/
database
/
qddb-1.42
< prev
next >
Wrap
Text File
|
1996-11-16
|
9KB
|
306 lines
Here's a patch to the newly released Qddb 1.42.6 that
fixes the following problems:
1. Expert search date ranges were giving an error message
2. When the expert search window was displayed, there was
no busy cursor.
To apply:
1. copy this file to the qddb-1.42.6 directory.
2. patch -p0 < qddb-1.42.6p1.patch
3. remake and install
--------------- cut here -----------------------
*** ../qddb-dists/qddb-1.42.6//ChangeLog Mon Nov 27 10:22:24 1995
--- .//ChangeLog Mon Nov 27 20:02:19 1995
***************
*** 1,5 ****
--- 1,13 ----
Mon Nov 27 10:21:33 1995 Eric H. Herrin II <eric@herrin.msext.uky.edu>
+ * Lib/LibQddb/Utils.c (Qddb_DateStringToTime): Was writing
+ unsigned; properly handle negative times.
+
+ * TkUtils/fx-tk4/fx_expert.tcl: Fixed a bug in range searching.
+ Explicitly check for non-existent args.
+
+ * Qddb 1.42.6 released.
+
* Testing under SunOS, HP/UX, Linux, BSD/OS 2.0.1, BSD/386 1.1
Misc changes to force clean compile.
***************
*** 14,20 ****
* TkUtils/fx-tk4/fx_expert.tcl: Lots of minor fixes; few
new major features. Placed main search building box
in a canvas so it will scroll. Added ability to resize
! the window horizontally. Added comment field and current
settings frame.
* TkUtils/fx-tk4/nxqddb.tcl (Fx_Entry): Fixed a bug in nxqddb
--- 22,28 ----
* TkUtils/fx-tk4/fx_expert.tcl: Lots of minor fixes; few
new major features. Placed main search building box
in a canvas so it will scroll. Added ability to resize
! the window vertically. Added comment field and current
settings frame.
* TkUtils/fx-tk4/nxqddb.tcl (Fx_Entry): Fixed a bug in nxqddb
*** ../qddb-dists/qddb-1.42.6//Lib/LibQddb/Utils.c Wed Nov 22 17:33:37 1995
--- .//Lib/LibQddb/Utils.c Mon Nov 27 20:05:41 1995
***************
*** 931,939 ****
}
}
if (sizeof(time_t) == sizeof(int))
! sprintf(buf, "%u", (int)clockVal);
else if (sizeof(time_t) == sizeof(long))
! sprintf(buf, "%lu", (long)clockVal);
else
PANIC("sizeof(time_t) != sizeof(int) or sizeof(long)");
retval = Malloc(sizeof(char)*(strlen(buf)+1));
--- 931,939 ----
}
}
if (sizeof(time_t) == sizeof(int))
! sprintf(buf, "%d", (int)clockVal);
else if (sizeof(time_t) == sizeof(long))
! sprintf(buf, "%ld", (long)clockVal);
else
PANIC("sizeof(time_t) != sizeof(int) or sizeof(long)");
retval = Malloc(sizeof(char)*(strlen(buf)+1));
*** ../qddb-dists/qddb-1.42.6//TclUtils/src/TclSearch.c Fri Nov 24 12:02:27 1995
--- .//TclUtils/src/TclSearch.c Mon Nov 27 19:30:53 1995
***************
*** 50,64 ****
} else if (argc == 5 && argv[3][0] == '-' && argv[3][1] == '\0') {
/* no lower limit */
args->UpperStr = argv[4];
args->LowerStr = NULL;
args->LowerExists = False;
- args->UpperExists = True;
} else if (argc == 5 && argv[4][0] == '-' && argv[4][1] == '\0') {
/* no upper limit */
args->UpperStr = NULL;
args->LowerStr = argv[3];
args->LowerExists = True;
- args->UpperExists = False;
} else {
if (argc != 6 || argv[4][0] != '-' || argv[4][1] != '\0') {
if (argc <= 4) {
--- 50,64 ----
} else if (argc == 5 && argv[3][0] == '-' && argv[3][1] == '\0') {
/* no lower limit */
args->UpperStr = argv[4];
+ args->UpperExists = True;
args->LowerStr = NULL;
args->LowerExists = False;
} else if (argc == 5 && argv[4][0] == '-' && argv[4][1] == '\0') {
/* no upper limit */
args->UpperStr = NULL;
+ args->UpperExists = False;
args->LowerStr = argv[3];
args->LowerExists = True;
} else {
if (argc != 6 || argv[4][0] != '-' || argv[4][1] != '\0') {
if (argc <= 4) {
*** ../qddb-dists/qddb-1.42.6//TkUtils/fx-tk4/fx_menu.tcl Sun Nov 26 21:11:29 1995
--- .//TkUtils/fx-tk4/fx_menu.tcl Mon Nov 27 21:25:31 1995
***************
*** 455,460 ****
--- 455,463 ----
method ExpertSearchProc {} {
global fx_config $status_variable fx_blt
+ if {$fx_blt} {
+ blt_busy hold .
+ }
if {[string length $restrict] == 0} {
set res {}
} else {
***************
*** 466,474 ****
set l [Fx:ExpertSearchWindow .expert_search $schema $res ""]
}
if {[lindex $l 0] == 1} {
- if {$fx_blt} {
- blt_busy hold .
- }
::set $status_variable "Searching..."
update idletasks
update
--- 469,474 ----
***************
*** 485,490 ****
--- 485,494 ----
update idletasks
update
SearchProc [lindex $l 1] [Fx:UniqueList [lindex $l 0]]
+ } else {
+ if {$fx_blt} {
+ blt_busy forget .
+ }
}
}
method DeleteProc {} {
*** ../qddb-dists/qddb-1.42.6//TkUtils/fx-tk4/fx_expert.tcl Sun Nov 26 23:13:23 1995
--- .//TkUtils/fx-tk4/fx_expert.tcl Mon Nov 27 20:56:21 1995
***************
*** 762,767 ****
--- 762,768 ----
catch "focus $oldFocus"
catch "grab $oldGrab"
destroy $w
+ update idletasks; update
return $retval
}
***************
*** 800,805 ****
--- 801,807 ----
}
proc Fx:ExpertSearchParseNode {s node} {
+ update idletasks; update
set opt [lindex $node 2]
set attr [lindex $node 3]
set lhs [lindex $node 4]
***************
*** 827,844 ****
switch $opt {
nr -
wr {
if {[string compare $opt nr] == 0} {
! if {[string length $lhs] > 0 && [catch "expr double($lhs)" err] != 0} {
error "Invalid number: $lhs"
}
! if {[string length $rhs] > 0 && [catch "expr double($rhs)" err] != 0} {
error "Invalid number: $rhs"
}
}
if {$anynode} {
! return [eval qddb_search $s $opt $lhs - $rhs]
} else {
! return [eval qddb_search $s -prunebyattr $attr $opt $lhs - $rhs]
}
}
r -
--- 829,864 ----
switch $opt {
nr -
wr {
+ set llen [string length $lhs]
+ set rlen [string length $rhs]
if {[string compare $opt nr] == 0} {
! if {$llen > 0 && [catch "expr double($lhs)" err] != 0} {
error "Invalid number: $lhs"
}
! if {$rlen > 0 && [catch "expr double($rhs)" err] != 0} {
error "Invalid number: $rhs"
}
}
if {$anynode} {
! if {$llen > 0 && $rlen > 0} {
! return [qddb_search $s $opt $lhs - $rhs]
! } elseif {$llen > 0 && $rlen == 0} {
! return [qddb_search $s $opt $lhs -]
! } elseif {$llen == 0 && $rlen > 0} {
! return [qddb_search $s $opt - $rhs]
! } else {
! return [qddb_search $s $opt -]
! }
} else {
! if {$llen > 0 && $rlen > 0} {
! return [qddb_search $s -prunebyattr $attr $opt $lhs - $rhs]
! } elseif {$llen > 0 && $rlen == 0} {
! return [qddb_search $s -prunebyattr $attr $opt $lhs -]
! } elseif {$llen == 0 && $rlen > 0} {
! return [qddb_search $s -prunebyattr $attr $opt - $rhs]
! } else {
! return [qddb_search $s -prunebyattr $attr $opt -]
! }
}
}
r -
***************
*** 860,873 ****
if {[string compare $opt d] == 0} {
set rhs $lhs
}
! if {[string length $lhs] > 0} {
if {[qddb_util isdate "$lhs 12:00AM"]} {
set lhs "$lhs 12:00AM"
} elseif {![qddb_util isdate $lhs]} {
error "Invalid date: $lhs"
}
}
! if {[string length $rhs] > 0} {
if {[qddb_util isdate "$rhs 11:59PM"]} {
set rhs "$rhs 11:59PM"
} elseif {![qddb_util isdate $rhs]} {
--- 880,895 ----
if {[string compare $opt d] == 0} {
set rhs $lhs
}
! set llen [string length $lhs]
! if {$llen > 0} {
if {[qddb_util isdate "$lhs 12:00AM"]} {
set lhs "$lhs 12:00AM"
} elseif {![qddb_util isdate $lhs]} {
error "Invalid date: $lhs"
}
}
! set rlen [string length $rhs]
! if {$rlen > 0} {
if {[qddb_util isdate "$rhs 11:59PM"]} {
set rhs "$rhs 11:59PM"
} elseif {![qddb_util isdate $rhs]} {
***************
*** 875,883 ****
}
}
if {$anynode} {
! return [eval qddb_search $s dr $lhs - $rhs]
} else {
! return [eval qddb_search $s -prunebyattr $attr dr $lhs - $rhs]
}
}
default {
--- 897,921 ----
}
}
if {$anynode} {
! if {$llen > 0 && $rlen > 0} {
! return [qddb_search $s dr $lhs - $rhs]
! } elseif {$llen > 0 && $rlen == 0} {
! return [qddb_search $s dr $lhs -]
! } elseif {$llen == 0 && $rlen > 0} {
! return [qddb_search $s dr - $rhs]
! } else {
! return [qddb_search $s dr -]
! }
} else {
! if {$llen > 0 && $rlen > 0} {
! return [qddb_search $s -prunebyattr $attr dr $lhs - $rhs]
! } elseif {$llen > 0 && $rlen == 0} {
! return [qddb_search $s -prunebyattr $attr dr $lhs -]
! } elseif {$llen == 0 && $rlen > 0} {
! return [qddb_search $s -prunebyattr $attr dr - $rhs]
! } else {
! return [qddb_search $s -prunebyattr $attr dr -]
! }
}
}
default {
***************
*** 890,895 ****
--- 928,934 ----
proc Fx:ExpertSearchParser {s nodes} {
set search_attrs {}
foreach i $nodes {
+ update idletasks; update
if {[string compare [lindex $i 0] t] != 0} {
if {[string compare [lindex $i 0] c] == 0} {continue}
if {[string compare [lindex $i 0] i] == 0} {